dex solidity配置
基础属性 订单簿交易
- 收费账号
address public feeAccount; - 费率
uint256 public feePrecent; - 交易所名字
string public name; - 初始化ETH的地址
address constant ETHER = address(0); - 账簿
mapping(address => mapping(address => uint256)) public tokens; - 订单结构体
1 | // 订单结构体 |
- 订单记录
mapping(uint256 => _Order) public orders; - 订单数量
uint256 public orderCount; - 订单取消标识 用于前端区分 且可用于判断是否完成了订单
mapping(uint256 => bool) public orderCancelled; - 订单交易成功标识
mapping(uint256 => bool) public orderFilled;
功能
构造函数初始化
1 | // constructor(address _feeAccount, uint256 _feePrecent) { |
depositEth 存eth
1 | event Deposit(address indexed _token, address indexed _user, uint256 _amount, uint256 _balance); |
depositToken 存某token
1 | // depositEth paybable可交易eth |
withdrawEther 提取eth
1 | event WithDraw(address indexed _token, address indexed _user, uint256 _amount, uint256 _balance); |
withdrawToken 提取某token
1 | // withdrawTokens |
makeOrder 创建订单
1 | //makeOrder |
cancelOrder 取消订单
1 | // cancelOrder |
fillOrder 完成订单
1 | // fillOrder 完成订单只发生于交易所内 操作订单簿上的数据 |